/****************************************************************************************
* 文件名：WINDOWS.H
* 功能：窗口管理。頭文件，用於定義各種數據結構。
* 作者：黃紹斌
* 日期：2003.09.19
* 備註：
****************************************************************************************/

#ifndef  WINDOWS_H
#define  WINDOWS_H

#include    "gui_config.h"

/* 定義窗口數據結構 */
typedef  struct
{  
	uint32_t x;				// 窗口位置(左上角的x坐標)
	uint32_t y;				// 窗口位置(左上角的y坐標)

	uint32_t width;			// 窗口寬度
	uint32_t height;		// 窗口高度
	uint32_t itemsperpage;	// 窗口可顯示項目個數
	uint32_t topitem;		//最頂端的條目
	const uint8_t *title;	// 定義標題欄指針
} WINDOWS;



/****************************************************************************
* 名稱：GUI_WindowsDraw()
* 功能：顯示窗口。根據提供的窗口參數進行畫窗口
* 入口參數：dat		填充的數據(對於黑白色LCM，為0的點滅，為1的點顯示)
* 出口參數：返回0表示操作失敗，返回1表示操作成功
****************************************************************************/
extern  uint8_t  GUI_WindowsDraw(WINDOWS *win);



/****************************************************************************
* 名稱：GUI_WindowsHide()
* 功能：消隱窗口。
* 入口參數：win		窗口句柄
* 出口參數：返回0表示操作失敗，返回1表示操作成功
****************************************************************************/
extern uint8_t  GUI_WindowsDelete(WINDOWS *win);



/****************************************************************************
* 名稱：GUI_WindowsClr()
* 功能：清屏窗口。
* 入口參數：win		窗口句柄
* 出口參數：無
* 說明：使用此函數前要先使用GUI_WindowsDraw()將窗口畫出。
****************************************************************************/
extern  void  GUI_WindowsClr(WINDOWS *win);

//測試窗體函數
void test_window(void);

#endif
